The Global Positioning System (GPS) is a satellite-based system used to provide positional information for GPS receivers. The GPS system is enabled using at least 24 satellites orbiting around earth at a period about 12 hours and by a plurality of ground control stations.
The data broadcast by a GPS satellite is known as a navigation message. The navigation message can include information such as ephemeris, almanac, a satellite time (the time onboard the satellite), and a time difference relative to a GPS system time (a standard time used as a reference time across the system). The time difference between the satellite time and the GPS system time is relatively stable, and can be stored by the GPS receiver. At the GPS receiver, the GPS system time can be obtained based on the satellite time, a previous position result of the GPS receiver, and the pre-stored time difference between the satellite time and the GPS system time. The previous position result of the GPS receiver indicates a previous position of the GPS receiver, and can be used to determine a transmission time delay based on the distance between the satellite and the GPS receiver. As such, the GPS system time can be obtained by adding up the GPS satellite time, the transmission time delay and the time difference.
The navigation message is formed by a sequence of navigation data bits. The end of a data bit, which is also the beginning of another data bit, is referred to as a navigation bit boundary. The navigation data message is transmitted on a frame basis and each frame is 1500 bits long. It takes about 20 milliseconds (ms) to transmit a data bit, and so it takes about 30 seconds to transmit a frame. Each frame is divided into five sub-frames, where each sub-frame has 300 navigation data bits. Each satellite begins to transmit a frame precisely on the minute and on the half minute, according to its satellite time. Before transmission, the navigation message is first modulated with a high rate repetitive pseudo-random noise (PRN) code and then is further modulated with a high frequency carrier signal.
At a GPS receiver, a received GPS signal is first down-converted to a signal with a desired frequency and then digitized at a predetermined sampling rate. The converted and digitized signal is known as a digital intermediate frequency (IF) signal. After the digital IF signal is demodulated by stripping off the carrier signal and the PRN code, the navigation message can be retrieved. In order to obtain the information from the navigation message, the navigation bit boundaries have to be determined by the GPS receiver.
The GPS receiver may need to obtain information from at least four satellites to calculate a current position of the GPS receiver. A parameter known as the time to first fix (TTFF) can indicate the time delay from the time when the GPS receiver is powered on to the time when the GPS receiver determines a current position.
FIG. 1 shows a block diagram of a conventional GPS receiver 100. The GPS receiver 100 can be divided into a main system domain 102 and a real clock domain 104.
In the main system domain 102, an antenna 106 receives a GPS signal and forwards the GPS signal to a radio frequency (RF) front end 108. At the RF front end 108, the GPS signal is converted to a signal with a desired frequency and then digitized at a predetermined sampling rate by a sampling clock 110 to generate a digital IF signal. A baseband processing unit 112 can process the digital IF signal under the control of a controlling unit 114 to perform various functions such as acquisition, tracking and positioning. The components in the main system domain 102 are powered by a system power supply 116.
In the real time clock domain 104, a local time clock 120 can be used for driving a real time clock circuit 124. The real time clock circuit 124 can generate a local time (e.g., a time which can indicate the current year, month, day, hour, minute and second). The components in the real time clock domain 104 are powered by a battery 126.
Generally, the local time provided by the real time clock circuit 124 is a coarse time with second level resolution. When the GPS receiver 100 is powered off, the real time clock circuit 124 which is powered by the battery 126 continues generating the local time. When the GPS receiver 100 is powered on, the local time with second level resolution can be used to determine the visibility of GPS satellites, that is, which satellites are available to the GPS receiver 100. Then the GPS receiver 100 starts to acquire a GPS signal. In order to obtain the information from the navigation massage of the GPS signal to calculate a current position, the GPS receiver 100 needs to determine navigation bit boundaries of the navigation message.
Conventionally, the process to determine navigation bit boundaries involves a calculation which may include generating a plurality of integration results where each integration result corresponds to a possible position of a bit boundary. Then the position of the bit boundary may be determined by comparing the integration results. Such a conventional process may be time-consuming and the time to first fix (TTFF) may be increased.
Furthermore, such a conventional process may require that the signal to noise ratio (SNR) of the received GPS signal is higher than a predetermined level (e.g., 26 db-Hz in a conventional method). Therefore, for a weak GPS signal, the GPS receiver 100 may not be able to obtain the information from the navigation message so that the TTFF may be increased.